package com.xinchao.service;

import com.xinchao.exception.ServiceException;
import com.xinchao.model.vo.DataReportPointLocationVO;
import com.xinchao.model.vo.DataReportVO;

import java.text.ParseException;
import java.util.List;

/**
 * 数据报表Service
 *
 * @author dxy
 * @date 2018/9/30 15:31
 */
public interface DataReportService {
	/**
	 * 获取总体数据VO列表
	 *
	 * @param advertisementName 广告名称
	 * @param startTime         开始时间
	 * @param endTime           结束时间
	 * @return List<DataReportVO>
	 * @throws ServiceException
	 */
	List<DataReportVO> listTotalData(String advertisementName, String startTime, String endTime) throws ServiceException, ParseException;

	/**
	 * 获取时段分析VO列表
	 *
	 * @param advertisementName 广告名称
	 * @param startTime         开始时间
	 * @return List<DataReportTimeFrameAnalysisVO>
	 * @throws ServiceException
	 */
	List<DataReportVO> listTimeFrameAnalysisData(String advertisementName, String startTime) throws ServiceException, ParseException;

	/**
	 * 获取点位分析VO列表
	 *
	 * @param advertisementName 广告名称
	 * @param startTime         开始时间
	 * @param endTime           结束时间
	 * @param deviceNumber      机器码
	 * @return List<DataReportPointLocationVO>
	 */
	List<DataReportPointLocationVO> listDataReportPointLocationData(String advertisementName, String startTime, String endTime, String deviceNumber) throws ServiceException, ParseException;

	/**
	 * 获取所有点位分析数据列表
	 * @return List<DataReportPointLocationVO>
	 * @throws ServiceException
	 * @throws ParseException
	 */
	List<DataReportPointLocationVO> listAllDataReportPointLocationData() throws ServiceException, ParseException;

}
